package mlz.d_tcp2;

import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;

/*
    TCP的多发多收
 */
public class Client {
    public static void main(String[] args) throws IOException {
        //1.创建socket对象,请求跟服务器之间的连接
        Socket socket = new Socket("127.0.0.1",8888);

        //2.从scoket中说去一个字节流对象, -> 就是用来发送数据给服务器端
        OutputStream os = socket.getOutputStream();

        //3.使用数据流进行输出
        DataOutputStream dos = new DataOutputStream(os);

        //获取控制台对象
        Scanner sc = new Scanner(System.in);

        while (true) {
            //4.开始写数据
            System.out.println("客户端输出: ");
            String msg = sc.nextLine();

            //退出程序
            if ("exit".equals(msg)){
                System.out.println("退出成功!!");
                //关闭流资源
                dos.close();
                //关闭连接
                socket.close();
                break;
            }

            //写入数据
            dos.writeUTF(msg);
            //刷新缓冲区
            dos.flush();
        }



      /*

        //关闭连接
        socket.close();*/
    }
}
